<template>
  <promoter
    v-if="nodeConfig.type == 'Promoter'"
    v-model="nodeConfig"
  ></promoter>

  <approver
    v-if="nodeConfig.type == 'Approval'"
    v-model="nodeConfig"
    :currentData="nodeConfig"
  ></approver>

  <send v-if="nodeConfig.type == 'Copied'" v-model="nodeConfig"></send>

  <!-- <branch v-if="nodeConfig.type == 4" v-model="nodeConfig">
    <template v-slot="slot">
      <node-wrap v-if="slot.node" v-model="slot.node.childNode"></node-wrap>
    </template>
  </branch> -->

  <node-wrap
    v-if="nodeConfig.childNode"
    v-model="nodeConfig.childNode"
  ></node-wrap>
</template>

<script>
import approver from './nodes/approver.vue';
import promoter from './nodes/promoter.vue';
// import branch from './nodes/branch.vue';
import send from './nodes/send.vue';

export default {
  props: {
    modelValue: { type: Object, default: () => {} },
  },
  components: {
    approver,
    promoter,
    // branch,
    send,
  },
  data() {
    return {
      nodeConfig: {},
    };
  },
  watch: {
    modelValue(val) {
      this.nodeConfig = val;
    },
    nodeConfig(val) {
      this.$emit('update:modelValue', val);
    },
  },
  mounted() {
    this.nodeConfig = this.modelValue;
  },
  methods: {},
};
</script>

<style></style>
